package com.iprojectmanager.views;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;

import com.iprojectmanager.managers.*;
import com.iprojectmanager.entities.*;

/**
 *
 * @author robert
 */
public class VistaListaActividades extends Vista 
{

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException 
    {
        PrintWriter out = response.getWriter();
        HttpSession session = request.getSession();
        IntegranteProyecto user = (IntegranteProyecto)session.getAttribute("user");
        try {
            out.println(Utilities.getDocType());
            out.println("<html>" + Utilities.getHead("Actividades pendientes de proyecto"));
            out.println("<body>");
            out.println("   <div id=\"container\">");
            out.print(Utilities.getIntro("Integrante del Proyecto : " + user.getProyecto().getNombre(),user));
            out.println(Utilities.getMenu());
            out.println("       <div id=\"pageContent\">");
            out.println("           <div id=\"selection1\">");
            out.println("           " + this.getListaActividades(request));
            out.println("         </div>");
            out.println("       </div>");
            out.println(Utilities.getFooter());
            out.println("   </div>");
            out.println("</body>");
            out.println("</html>");
            out.close();
        } finally {
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
    * Handles the HTTP <code>GET</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
    * Handles the HTTP <code>POST</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
    * Returns a short description of the servlet.
    */
    public String getServletInfo() {
        return "Listar actividades pendientes de proyecto";
    }// </editor-fold>

    protected String getListaActividades(HttpServletRequest request)
    {
        StringBuffer str = new StringBuffer();
        ActivitiesManager am = new ActivitiesManager();
        HttpSession session = request.getSession();
        IntegranteProyecto ip = (IntegranteProyecto)session.getAttribute("user");

        str.append("<div id=\"selection2\">\n");
	str.append("	<h3><span>Actividades Asignadas al Integrante</span></h3>\n");
	str.append("	<p class=\"p1\"><span>\n");
	str.append("        <table border=\"1\" cellspacing=\"1\">\n");
	str.append("            <tr>\n");
	str.append("                <th><b>Nombre</b></th>\n");
	str.append("                <th><b>Fecha de Inicio</b></th>\n");
	str.append("                <th><b>Fecha de Entrega</b></th>\n");
	str.append("                <th><b>Prioridad</b></th>\n");
	str.append("                <th><b>Estado</b></th>\n");
	str.append("                <th><b>Encargado</b></th>\n");
	str.append("		</tr>\n");
        for(Actividad a : am.getActividadesFromIntegrantes(ip)){//Por cada actividad ordenada por fecha de inicio
            str.append("            <tr>\n");
            str.append("                <td>" + a.getNombre() + "</td>\n");
            str.append("                <td>" + a.getFechaInicio() + "</td>\n");
            str.append("                <td>" + a.getFechaEntrega() + "</td>\n");
            str.append("                <td>" + a.getPrioridad() + "</td>\n");
            str.append("                <td>" + a.getEstado() + "</td>\n");
            str.append("                <td>" + a.getResponsable().getNombre() + "</td>\n");
            str.append("            </tr>\n");
        }
	str.append("        </Table>\n");
	str.append("	</span></p>\n");
	str.append("</div>\n");
        str.append("</span></p>\n");

        return str.toString();
    }
}
